The present invention relates generally to computer systems and more particularly to a system and method for controlling data in such a system when the system loses external power.
Most modern computer systems utilize various types of memory for handling data. A typical computer system consists of a central processing unit (CPU), cache memory, main memory, and long-term data storage such as a hard disk drive (HDD). Cache memory is significantly faster than main memory but has much less data capacity and more costly. Similarly main memory is significantly faster than a HDD, but also stores significantly less data and is more costly. Cache memory is very high speed memory designed to hold upcoming to-be-accessed and/or recently-accessed data. Data retrieved from the relatively slow HDD may be still be resident in the cache or in the main memory, thus the CPU can re-access that data from the cache many times faster than from main memory and hundreds of times faster than from the HDD. However, cache memory and main memory are characterized as volatile memory. Volatile memory (VM) is memory that contains data that is subject to erasure when the external power supply is shut down. A HDD is characterized as a non-volatile storage.
Consequently, the first problem that is encountered in this environment is that when there is an sudden loss of external power there is insufficient time to safely write all the newly written and modified data from the VM to the HDD before the computer system shuts down. This poses a significant risk on the customer""s data contained in the VM. Perhaps a very small amount of data could be safely saved to the HDD during the limited time available from detection to shutdown. However this would place a severe restriction on the amount of newly written and modified data that could be held in the VM which would basically eliminate the performance gains achieved by using the VM.
A battery could be coupled to the internal power system, however the use of batteries pose significant problems. Batteries have a limited number of charge-drain cycles, have a large internal resistance, and are physically very large and heavy. Additionally a HDD consumes significant amounts of power. The size and capacity of the batteries needed to supply power to the CPU, VM and HDD make them impractical. Alternatively a battery-backed uninterruptible power supply (UPS) could be connected in series with the external power source to provide power to the entire computer system in the event of a loss of external power. However, an UPS is physically large, heavy and relatively expensive.
Another significant problem associated with conventional computer technology is the ability to erase data from a HDD. Erasing all data from a disk, rapidly, and without the possibility of retrieval, is a mandatory requirement as an action of last resort for many applications. For example, if the data being stored is particularly valuable or otherwise sensitive and imminent access by hostile parties cannot be avoided, then the data must be destroyed instantaneously and irretrievably.
Normally when data is erased from a HDD, only the information to track the location of the files on the physical disk media is removed. This means that it is possible to retrieve the data by reconstructing the File Allocation Table (FAT). Some HDD erase utilities overwrite the actual data so that it cannot be easily recovered. However, due to the remnants of magnetic particle polarization, it is possible to recover data from a HDD even though the data has been deliberately overwritten. In order to prevent such data recovery, each storage element needs to be overwritten with specific data patterns repeatedly five or six times. To do this for every bit on a high capacity HDD take a very long time.
Accordingly, what is needed is a method for providing power to the computer system in the event of a sudden loss of power such that all newly written and modified data in the VM will be correctly stored in the non-volatile storage. What is further needed is method for rapidly erasing all data from a large non-volatile storage without the possibility of Do retrieval even in the event of a sudden loss of power. The method should be affordable and consume minimal space and weight. The present invention addresses such a need.
The present invention discloses a method and system for controlling data in a computer system when the computer system loses power, the computer system comprising a computing engine. The method and system comprises activating a plurality of super capacitors to supply power to the computing engine based upon power being removed from the computer system and reconfiguring the data in the computing engine.
Through the use of a system and method in accordance with the present invention, a user is able to correctly store large amounts of newly written and modified data from the volatile memory to the non-volatile memory in the event of a sudden external system power loss. Furthermore, the user of a system and method in accordance with the present invention will be able to rapidly and irretrievably erase data from the non-volatile memory automatically, in the event of a sudden loss of external power or manually. This capability consumes minimal space and weight and is implemented in an affordable manner.